package com.qzsoft.zhjd.exp.modules.laboratorydevice.dto;

import java.util.Date;

import org.hibernate.validator.constraints.Length;

import com.baomidou.mybatisplus.annotation.FieldStrategy;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.qzsoft.jeemis.common.annotation.Dict;
import com.qzsoft.jeemis.common.validator.group.AddGroup;
import com.qzsoft.jeemis.common.validator.group.UpdateGroup;

import lombok.Data;

/**
 * @ClassName: LaboratoryDeviceDto
 * @Description: 实验室设备列表对象
 * @author linhuawei
 * @since 2021-05-17
 */
@Data
public class LaboratoryDeviceDto {

    /**
     * 设备主键
     */
    private String id;

    /**
     * 基地编号
     */
    private String baseCode;

    /**
     * 基地名称
     */
    private String baseName;

    /**
     * 试验室名称
     */
    private String laboratoryName;

    /**
     * 设备类型
     */
    private String type;

    /**
     * 设备类型名称
     */
    @Dict(dicCodeField = "type", dictCodeId = "LABORATORY_DEVICE_TYPE")
    private String typeLabel;

    /**
     * 设备名称
     */
    private String name;

    /**
     * 设备型号
     */
    private String model;

    /**
     * 设备编号
     */
    private String code;

    /**
     * 设备厂商
     */
    private String manufacturer;

    /**
     * 服务电话
     */
    private String servicePhone;

    /**
     * 设备数量
     */
    private Integer num;

    /**
     * 备注
     */
    @TableField(updateStrategy = FieldStrategy.IGNORED)
    @Length(groups = { AddGroup.class, UpdateGroup.class }, max = 200, message = "备注不可超过{max}")
    private String remark;

    /**
     * 修改人
     */
    private String updateName;

    /**
     * 修改时间
     */
    private Date updateDate;

    private boolean isBind;

    public boolean getIsBind() {
        isBind = ObjectUtils.isNotEmpty(code);
        return isBind;
    }

}
